package com.isoft.airportsystem.service.flight;

import com.isoft.airportsystem.entity.flight.BaggageInfo;
import com.isoft.airportsystem.entity.flight.FlightInfo;
import com.isoft.airportsystem.util.PageResult;
import com.isoft.airportsystem.vo.FlightQueryVO;
import jakarta.servlet.http.HttpServletResponse;

import java.util.List;
import java.util.Map;

public interface FlightService {
    // 新增统计方法
    int getTotalFlightCount();
    int getTodayFlightCount();
    Map<String, Integer> getFlightStatusDistribution();
    Map<String, Integer> getFlightTypeDistribution();
    List<Integer> getWeeklyFlightCounts(List<String> dates);
    // 查询航班列表
    List<FlightInfo> queryFlightList(FlightQueryVO queryVO);

    // 分页查询航班
    PageResult<FlightInfo> queryFlightPage(FlightQueryVO queryVO, int pageNum, int pageSize);

    // 获取航班详情
    FlightInfo getFlightDetail(String flightId);

    // 获取行李信息
    List<BaggageInfo> getBaggageInfo(String flightId);

    // 航班状态统计
    Map<String, Object> getFlightStatusStats();

    // 航班延误统计
    Map<String, Object> getDelayStats();

    // 获取最近航班信息
    List<FlightInfo> getRecentFlights(int limit);

    // 导出航班数据
    void exportFlightData(FlightQueryVO queryVO, HttpServletResponse response);

    void deleteFlight(String flightId);

    void addFlight(FlightInfo flightInfo);
    void updateFlight(FlightInfo flightInfo);
}